# 爬虫和反爬虫
"""
爬虫 ：
应用场景：
     1.做数据分析(大数据)，将分析出来的结果制成图标(饼状图、柱状图、折线图等), 为公司经营决策提供依据：
     2.将数据应用于公司的网站或者app：
技术手段: urllib、 requests、 bs4、 Lxml、 pyspider(框架)、 scrapy(框架)
爬虫网站：
     从网站类型上：
          1.静态网站：页面上展示的数据，如果可以在“右键-网页源代码”中看到这些数据，那么这个网站就是静态网站；
          2.动态网站：页面上展示的数据，如果可以在“右键-网页源代码”中无法看到这些数据，这些数据是通过js动态渲染的，那么这种网站就是动态网站了；
          如果是动态网站，分三种情况：
             1.看看页面上展示的数据，是否是通过API接口返回的json数据,这种事最简单的方式：(解析)
             2.使用selenium动态加载js文件，获取js加载完成之后的页面：(效率是比较慢的：)
             3.有些网站会对selenium驱动进行识别，通过分析网站的js源代码，看数据是如何返回的；
     从难易程度上分为:
          1.数据直接通过html源代码返回了；
          2.请求参数加密；
          3.需要使用cookie进行网络请求；
          4.返回数据加密；
          5.需要重点分析请求头和响应头；
          6.网站对同一IP的访问又次数限制；
          7.验证码的破解；

请求头和响应头中常用的字段:
请求头:
    HOST:  表示当前请求对应的服务器地址； www.baidu.com
    REFERER: 表示此次请求是由哪个地方发起的请；
    COOKIE: 请求的时候携带上这个Cookie可以实现免登录
    USER-AGENT: 浏览器标识，如果不携带该字段，可能会被对方服务器认为是爬虫.
响应头：
    SET-COOKIE: 一般是服务器向客户端返回的Cookie信息。
    Cookie和Session技术：()
"""




